home *** CD-ROM | disk | FTP | other *** search
/ Amiga Plus 2004 #6 / Amiga Plus CD - 2004 - No. 06.iso / AmigaPlus / Begleitmaterial / 50Tools / Grafik / PerfectPaint / rexx / Border / GlobalBorder.rx
Text File  |  2002-10-13  |  2KB  |  120 lines

  1. /*     Global Border */ 
  2.  
  3.     Options results
  4.     parse ARG Port file1 Color Opacity shadow IO b
  5.     
  6.     ADDRESS value Port
  7.  
  8.     pp_EffectOff
  9.     pp_StencilOff
  10.     pp_ComposeReqOff
  11.     pp_Compose 0 100 0    
  12.  
  13.     pp_SSave "T:DisSten"
  14.  
  15.     pp_GetWidth
  16.     W=result
  17.     pp_GetHeight
  18.     H=result
  19.  
  20.     pp_UpdateUndo
  21.     pp_AvoidRefresh
  22.  
  23.     file1="PerfectPaint:Rexx/Border/Script&Picture/"||file1
  24.     IF right(file1,4)~='.brx' then DO    
  25.         pp_GetCurrentBrush
  26.         CB=result
  27.         pp_FindEmptyBrush
  28.         Brush=result
  29.         IF Brush=-1 then DO
  30.             pp_Warn "can't*find*empty|Brush."
  31.             EXIT        
  32.         END
  33.         pp_SetBrush Brush
  34.         pp_Bload file1
  35.         pp_ScaleBrush W H
  36.         pp_SpareOnOff
  37.         pp_plot W/2 H/2
  38.         pp_freeBrush
  39.         pp_SetBrush CB
  40.         IF right(file1,4)='.edg' then DO
  41.             pp_StoreEffectType
  42.             pp_EffectOn
  43.             pp_GaussianBlur 10
  44.             pp_BoxF 0 0 W-1 H-1
  45.             pp_Adjustlevels 55 112
  46.             pp_EffectOff
  47.             pp_RestoreEffectType
  48.         END
  49.         pp_SparetoSten
  50.         pp_InvStencil
  51.     END
  52.     ELSE DO
  53.         ADDRESS COMMAND
  54.         'sys:rexxc/rx '||file1||' '||Port||' 0'
  55.         ADDRESS value Port
  56.     END
  57.  
  58.     pp_ClosestColor 255 255 255
  59.     White=result    
  60.     pp_ClosestColor 0 0 0
  61.     Black=result
  62.  
  63.     IF Color=0 then DO
  64.         pp_SetApen White
  65.     END
  66.     IF Color=1 then DO
  67.         pp_SetApen Black
  68.     END
  69.     IF Color=3 then DO
  70.         pp_PicttoSpare
  71.         pp_EffectOn
  72.     END
  73.  
  74.     pp_BoxF 0 0 W-1 H-1
  75.  
  76.     pp_SpareOnOff
  77.     pp_EffectOn
  78.     pp_StencilOn
  79.     pp_Spare
  80.     pp_Compose 0 Opacity 0    
  81.         
  82.     IF shadow=1 then DO
  83.         pp_SetApen Black
  84.         IF IO=0 then DO
  85.             pp_StencilOff
  86.             pp_AddShadow 0 0 0 0
  87.             pp_StencilOn
  88.             pp_BoxF 0 0 W-1 H-1
  89.             pp_StencilOff
  90.         END
  91.         ELSE DO
  92.             pp_BoxF 0 0 W-1 H-1
  93.             pp_StencilOff
  94.             pp_InvStencil
  95.             pp_AddShadow 0 0 0 0
  96.         END
  97.     END
  98.     ELSE DO
  99.         pp_BoxF 0 0 W-1 H-1
  100.         pp_StencilOff        
  101.     END
  102.  
  103.     pp_StencilOff
  104.     pp_EffectOff
  105.     pp_ComposeReqOn
  106.     pp_Compose 0 100 0
  107.     
  108.     IF EXISTS('T:DisSTen') THEN DO
  109.         pp_SLoad "T:DisSTen"
  110.         ADDRESS COMMAND
  111.         'delete >nil: ram:DisSten'
  112.     ENDIF
  113.  
  114.     ADDRESS value Port
  115.     pp_PermitRefresh
  116.     pp_Progressclr
  117.  
  118. EXIT    
  119.  
  120.